<?php
class BiereCommentaireController extends Controller
{

  /**
   * Charge les listes d'infos à la construction
   */
  function __construct()
  {
    parent::__construct();
    array_push($this->styles, 'asset/css/app.css');
    array_push($this->styles, 'http://fonts.googleapis.com/css?family=Pirata+One');
    array_push($this->styles, 'http://fonts.googleapis.com/css?family=Raleway');
  }

  /**
   * Méthode appellé lorsque la page /?controller=commentaire&action=ajouterCommentaire est lancée
   */
  function ajouterCommentaireAction()
  {
    // Si le fichier xml contenant les commentaires n'est pas présent pour s'il n'a pas des permissions d'écriture on affiche une erreur. 
    if(!file_exists(Config::$urlCommentaires) || !is_writable(Config::$urlCommentaires)){

      Notification::addMessage(Notification::ERROR, "Erreur : Le fichier contenant les commentaires n'à pas les permissions d'écriture.");

    // Sinon si le commentaire et l'identifiant de la biere existent, on l'enregistre.
    } else if(isset($_POST['idBiere']) && isset($_POST['commentaire'])) {
      {
        if($_POST['idBiere'] != "" && $_POST['commentaire'] != "")
        {
          $pseudo = (isset($_POST['pseudo']) && $_POST['pseudo']) != "" ? $_POST['pseudo'] : "Anonyme";

          // Instanciation du modèle
          $commentaire = new Commentaire();

          // Ajout du commentaire en mémoire
          $commentaire->addCommentaire($_POST['idBiere'], $pseudo, $_POST['commentaire']);

          // Savegarde du commentaire dans le fichier xml
          $commentaire->save(Config::$urlCommentaires);

          // Ajout d'un message en cas de réussite de l'enregistrement
          Notification::addMessage(Notification::SUCCESS, "Votre commentaire a été pris en compte. Merci");
        } else {

          // Ajout d'une erreur si le commentaire est vide
          Notification::addMessage(Notification::ERROR, "Vous devez écrire un commentaire avec de valider.");
        }
      }
    }

    // On redirige vers la page précédente
    if($this->previousUrl())
      header("Location: " . $this->previousUrl());

  }

}
?>
